import request from '@/api/axios.config';

export type LoginForm = {
  /**
   * 账号
   */
  account: string;
  /**
   * 密码
   */
  pwd: string;
  /**
   * 验证码
   */
  code?: string;
  /**
   * 验证码时间
   */
  timestamp?: number;
};

export const useLoginApi = {
  /**
   * 获取验证码
   * @param timestamp 请求时间戳
   * @returns
   */
  captcha: (timestamp: number) => {
    return request({
      url: `/api/web/captcha/${timestamp}`,
      method: 'get',
      responseType: 'blob',
    });
  },
  /**
   * 登录
   * @param data 登录信息
   * @returns
   */
  login: (data: LoginForm) => {
    return request({
      url: '/api/web/login',
      method: 'POST',
      data,
    });
  },
  /**
   * 退出登录
   * @returns
   */
  logout: () => {
    return request({
      url: '/api/web/logout',
      method: 'GET',
    });
  },
  /**
   * 获取当前用户信息
   * @returns
   */
  getCurrentUser: () => {
    return request({
      url: '/api/web/current-user',
      method: 'GET',
    });
  },
  /**
   * 根据机构ID获取在职部门列表
   * @param id
   * @returns
   */
  getDeptByOrgId: (id: string) => {
    return request({
      url: `/api/web/list/dept/by/${id}`,
      method: 'GET',
    });
  },
  /**
   * 根据在职部门ID获取在职岗位列表
   * @param id 
   * @returns 
   */
  getPosByDeptId: (id: string) => {
    return request({
      url: `/api/web/list/post/by/${id}`,
      method: 'GET',
    });
  },
};
